実装 sklearn.model_selection.train_test_split
cv = CVClass(test_size=n_test, train_size=n_train, random_state=random_state)
Sequenceの添字をtrainとtestに分ける
CVClassは
stratifyがデフォルト値のNoneのときShuffleSplit
stratifyが指定された時StratifiedShuffleSplit
添字を分ける
train, test = next(cv.split(X=arrays[0], y=stratify))
multilabelでstratifyは指定できない?
ValueError: The least populated class in y has only 1 member, which is too few. The minimum number of groups for any class cannot be less than 2.
np.min(class_counts) < 2のときのエラーメッセージ
マルチラベルのとき、yは文字列に変換されている
1サンプルにしか該当しないクラスがあったので例外が送出された
データ数が多かったため、おそらく1サンプルにしか該当しないクラスはなかった
make_multilabel_classification(n_samples=1000, random_state=1)ではうまくいく
make_multilabel_classification(random_state=1)(n_samplesはデフォルトの100)では例外送出